Entity Framework পরিচিতি

Web Development - এএসপি ডট (ASP.Net) - ডাটাবেজ ইন্টিগ্রেশন (Entity Framework Core) |

Entity Framework (EF) হলো একটি Object-Relational Mapping (ORM) ফ্রেমওয়ার্ক যা .NET অ্যাপ্লিকেশনগুলিতে ডেটাবেসের সঙ্গে কাজ করার জন্য ব্যবহৃত হয়। এটি ডেভেলপারদের রিলেশনাল ডেটাবেসে ডেটা সঞ্চালন করার জন্য C# কোড ব্যবহার করতে সাহায্য করে, SQL কোড লিখতে না হয়। EF ডেটাবেস টেবিলগুলিকে ক্লাস এবং রেকর্ডগুলিকে অবজেক্ট হিসেবে মডেল করে, যার ফলে ডেটাবেসের সঙ্গে ডেটা ইন্টারঅ্যাকশন অনেক সহজ হয়ে যায়।


Entity Framework এর কাজ

EF মূলত ডেটাবেস অপারেশনগুলি যেমন CRUD (Create, Read, Update, Delete) সহজ করে দেয়। EF ডেভেলপারদের কোড-ফার্স্ট, ডেটাবেস-ফার্স্ট, অথবা মডেল-ফার্স্ট অ্যাপ্রোচ ব্যবহার করতে দেয় ডেটাবেস তৈরি এবং পরিচালনা করার জন্য।

EF ব্যবহারের সুবিধাসমূহ:

  • ডেটাবেস ম্যানেজমেন্ট সহজ করা: EF কোডবেস থেকে সরাসরি ডেটাবেসকে পরিচালনা করতে সাহায্য করে।
  • ডেটাবেস ইন্টারঅ্যাকশন সিম্প্লিফাই করা: SQL কোড লেখা ছাড়াই ডেটাবেসের সঙ্গে ইন্টারঅ্যাকশন করা যায়।
  • ডেটা মডেলিং: EF অবজেক্ট-ওরিয়েন্টেড মডেলিং সিস্টেমের মাধ্যমে ডেটাবেস মডেল তৈরি করে।

Entity Framework এর প্রকারভেদ

Entity Framework এ তিনটি প্রধান প্রকারভেদ রয়েছে:

১. Entity Framework Core (EF Core)

EF Core হলো EF এর আধুনিক, হালনাগাদ এবং ক্রস-প্ল্যাটফর্ম সংস্করণ। এটি ASP.Net Core অ্যাপ্লিকেশনগুলির সঙ্গে পুরোপুরি ইন্টিগ্রেটেড এবং ডেটাবেস পরিচালনার জন্য একটি হালকা ও দ্রুত সংস্করণ। EF Core অ্যাপ্লিকেশনগুলির জন্য ব্যবহার করা হয় যেগুলোতে প্ল্যাটফর্ম ইন্ডিপেনডেন্ট কাজ করা প্রয়োজন।

২. Entity Framework 6 (EF 6)

EF 6 হলো Entity Framework এর পূর্ববর্তী সংস্করণ, যা .NET Framework অ্যাপ্লিকেশনের জন্য ব্যবহৃত হয়। যদিও EF Core অধিকতর জনপ্রিয় এবং আধুনিক, EF 6 এখনও অনেক বড় অ্যাপ্লিকেশন এবং লেজেসি সিস্টেমে ব্যবহৃত হচ্ছে।

৩. Database First এবং Code First

EF তিনটি প্রধান অ্যাপ্রোচে কাজ করতে পারে:

  • Code First: ডেভেলপাররা কোড লিখে মডেল তৈরি করেন, এবং EF এটি থেকে ডেটাবেস তৈরি করে।
  • Database First: ইতিমধ্যেই বিদ্যমান ডেটাবেসের উপর ভিত্তি করে EF মডেল তৈরি করা হয়।
  • Model First: মডেল তৈরি করার পর ডেটাবেস তৈরি করা হয়।

EF Core এর প্রধান বৈশিষ্ট্য

EF Core বেশ কিছু নতুন ফিচার নিয়ে এসেছে যা EF 6 এর তুলনায় আরও শক্তিশালী এবং দ্রুত। এর কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য হলো:

  • ক্রস-প্ল্যাটফর্ম সমর্থন: EF Core Windows, Linux, এবং macOS-এ কাজ করতে পারে।
  • ডেটাবেসের বিভিন্ন ধরণের সমর্থন: EF Core বিভিন্ন ডেটাবেস যেমন SQL Server, SQLite, PostgreSQL, MySQL, ইত্যাদি সমর্থন করে।
  • অ্যাডভান্সড কুয়েরি অপটিমাইজেশন: EF Core উন্নত কুয়েরি অপটিমাইজেশন সুবিধা প্রদান করে।
  • লাইটওয়েট: EF Core তুলনামূলকভাবে লাইটওয়েট এবং বেশি পারফরম্যান্স ফ্রেন্ডলি।

Entity Framework এর প্রধান কার্যকারিতা

১. CRUD অপারেশন (Create, Read, Update, Delete)

EF কোড-ফার্স্ট অ্যাপ্রোচে ডেটাবেসের সঙ্গে CRUD অপারেশন সহজভাবে পরিচালনা করা যায়:

  • Create: নতুন রেকর্ড তৈরি করা।

    var product = new Product { Name = "Laptop", Price = 1500 };
    dbContext.Products.Add(product);
    dbContext.SaveChanges();
    
  • Read: ডেটাবেস থেকে রেকর্ড পড়া।

    var product = dbContext.Products.FirstOrDefault(p => p.Name == "Laptop");
    
  • Update: বিদ্যমান রেকর্ড আপডেট করা।

    var product = dbContext.Products.FirstOrDefault(p => p.Id == 1);
    product.Price = 1200;
    dbContext.SaveChanges();
    
  • Delete: রেকর্ড মুছে ফেলা।

    var product = dbContext.Products.FirstOrDefault(p => p.Id == 1);
    dbContext.Products.Remove(product);
    dbContext.SaveChanges();
    

২. Data Annotations এবং Fluent API

EF ডেটাবেস মডেলিংয়ের জন্য দুইটি প্রধান পদ্ধতি ব্যবহার করতে পারে:

  • Data Annotations: ক্লাস এবং প্রপার্টির উপর অ্যানোটেশন ব্যবহার করে ডেটাবেস মডেল ডিফাইন করা যায়।
  • Fluent API: কোডে C# API ব্যবহার করে ডেটাবেস মডেল কনফিগার করা হয়।

৩. Migrations (মাইগ্রেশন)

EF কোড-ফার্স্ট ব্যবহার করলে, ডেটাবেস স্কিমা পরিবর্তনের জন্য Migrations ব্যবহার করা হয়। মাইগ্রেশন কোড পরিবর্তনগুলো ডেটাবেসে আপডেট করতে সাহায্য করে।

  • মাইগ্রেশন তৈরি:

    dotnet ef migrations add InitialCreate
    
  • মাইগ্রেশন আপডেট:

    dotnet ef database update
    

সারসংক্ষেপ

Entity Framework (EF) হলো একটি শক্তিশালী ORM ফ্রেমওয়ার্ক যা .NET ডেভেলপারদের ডেটাবেসের সঙ্গে ডাইনামিকভাবে কাজ করার সহজ উপায় প্রদান করে। EF এর সাহায্যে ডেটাবেস ম্যানিপুলেশন যেমন CRUD অপারেশন, কুয়েরি লেখার কাজ আরও দ্রুত এবং সিম্পল হয়ে যায়। EF Core এর আধুনিক সংস্করণটি ক্রস-প্ল্যাটফর্ম সমর্থন, উন্নত পারফরম্যান্স এবং আরও বেশি ডেটাবেস সমর্থন নিয়ে আসে, যা আধুনিক অ্যাপ্লিকেশনের জন্য উপযোগী।

Content added By
Promotion